package exception;

/**
 * finally相关面试题
 * 第一题
 * 请说明final  finally  finalize是什么
 * final:参考王壳晶的笔记
 * finally:参考FinallyDemo的笔记
 * finalize:是定义在Object中的一个方法,该方法是一个对象生命周期中的最后
 * 一个方法,当GC发现一个对象没有被引用时要将其回收释放资源,在释放前的最后一
 * 刻会调用该方法,意味着该方法调用完事之后即被释放
 *
 *
 *
 *
 * 第二题如下代码所示
 */
public class FinallyDemo03 {
    public static void main(String[] args) {
        System.out.println(test("o")+"," + test("" )+","+test(null));
    }
    //问结果为多少   //  3,3,3


    public static int test(String str){
        try {
            return str.charAt(0)-'0';
        }catch (StringIndexOutOfBoundsException e ){
            return 1;
        }catch (NullPointerException e){
            return 2;
        }finally {
            return 3;
        }
    }
}
